package com.ztom.beans.factory

import kotlin.reflect.KClass

/**
 * @author ZhangTao
 */
interface ListableBeanFactory : BeanFactory {

    /**
     * 根据 type 获取 bean 列表
     */
    fun <T : Any> getBeansOfType(type: KClass<out T>): Map<String, T>

    /**
     * 获取定义的所有 bean name 数组
     */
    fun getBeanDefinitionNames(): Array<String>
}